package com.yc.backstage.service;

import com.yc.backstage.common.annotation.DataScope;
import com.yc.backstage.entity.SysDept;
import com.baomidou.mybatisplus.extension.service.IService;
import com.yc.backstage.entity.dto.TreeSelectDto;
import com.yc.backstage.mapper.SysDeptMapper;

import java.util.List;

/**
* @Classname SysDeptController
* @Description
* @Version 1.0.0
* @Date 2022-08-23 11:49:19
* @Created by Mikechen
*/
public interface SysDeptService extends IService<SysDept> {
    /**
     * 查询所有部门树结构
     *
     * @return 部门信息集合
     */
    List<SysDept> selectDeptList();

    /**
     * 构建前端所需要下拉树结构
     *
     * @param depts 部门列表
     * @return 下拉树结构列表
     */
     List<TreeSelectDto> buildDeptTreeSelect(List<SysDept> depts);
    /**
     * 构建前端所需要树结构
     *
     * @param depts 部门列表
     * @return 树结构列表
     */
     List<SysDept> buildDeptTree(List<SysDept> depts);

    /**
     * 查询部门树结构信息
     *
     * @param dept 部门信息
     * @return 部门树信息集合
     */
     List<TreeSelectDto> selectDeptTreeList(SysDept dept);

    /**
     * 查询部门管理数据
     *
     * @param dept 部门信息
     * @return 部门信息集合
     */
     List<SysDept> selectDeptListByDept(SysDept dept);
}
